package com.night.icm.service.business.service;

import com.night.icm.common.utils.PageDataDTO;
import com.night.icm.model.business.StudentCreditRecordDTO;

/**
 * StudentCreditRecordService
 *
 * @author Liao ZhiYong
 * @date 2020/3/22
 */
public interface StudentCreditRecordService {

    /**
     * 根据学生学号查找学生学分记录
     *
     * @param studentCode 学生code
     * @return 学生学分记录
     */
    StudentCreditRecordDTO findByStudentCode(String studentCode);

    /**
     * 通过id查找学生学分记录
     *
     * @param id id
     * @return 学生学分记录
     */
    StudentCreditRecordDTO findById(String id);

    /**
     * 提交学生学分记录
     *
     * @param id                     id
     * @param studentCreditRecordDTO 学生学分记录
     * @return 学生学分记录
     */
    StudentCreditRecordDTO complete(String id, StudentCreditRecordDTO studentCreditRecordDTO);

    /**
     * 分页查找学生学分记录
     *
     * @param page         页号，从0开始
     * @param size         每页记录条数
     * @param sort         排序字段，例如：字段1,asc,字段2,desc
     * @param academyId    学院名称
     * @param professionId 专业名称
     * @param classId      班级名称
     * @param studentName  学生姓名
     * @param grade        所属年级
     * @return 学生学分记录
     */
    PageDataDTO<StudentCreditRecordDTO> findOnePage(int page, int size, String sort, String academyId, String professionId, String classId, String studentName, String grade);
}
